//
//  AVDVideoView.h
//  avd_sdk
//
//  Created by skin on 15-9-19.
//  Copyright (c) 2015年 rtc. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import "AVDCommon.h"
#import "AVDVideoRenderer.h"

AVD_EXPORT
@interface AVDVideoView  : UIView <AVDVideoRenderer>
@property (nonatomic,weak) id <AVDVideoRendererCallBacks>callback;    /**< 视频数据回调 */
@property (nonatomic,weak) id <AVDFirstFrameCallBack>firstFrameCallback;    /**< 首帧视频数据回调通知 */
@property (nonatomic, readonly) UIView* videoView;

- (instancetype)initWithCoder:(NSCoder *)aDecoder;
- (instancetype)initWithFrame:(CGRect)frame;
- (instancetype)initForCallbacks:(id<AVDVideoRendererCallBacks>)cb;

/** 抓取直播图像保存在相册中
 *
 * @param[in] quality  图像质量：0-100, 0最差，100最好。
 * @return 返回错误代码。
 */
- (NSInteger)captureImage:(NSInteger)quality;


/**
 更新指定区域局部渲染
 @param frame 需要局部显示的视频坐标 e：（0,0,240,270）
 x y 指整个视频的起始位置
 w h 指要裁剪视频分辨率的宽高
 @return -1 代表区域内含无效值 0 代表成功。
 */
- (AVDResult)setRenderZone:(CGRect)frame;


/**
  重置render的渲染区域
 */
- (void)recoverRenderZone;



/**
 抓取视频窗口显示的一帧视频
 
 @param quality quality  图像质量：0-100, 0最差，100最好。
 @return image
 */
- (UIImage *)captureRenderImage:(NSInteger)quality;

//
//- (void)translationWithX:(CGFloat)tx Y:(CGFloat)ty;
//- (void)scaleWithX:(CGFloat)tx Y:(CGFloat)ty;
//- (void)resetAffineTransform;

@end
